/****************************************************************
 **                                                             *
 ** Nombre: VisualizadorBusqueda.java                           *
 ** Versión: 1.0.0                                              *
 * Autor:Alonso Fabian Orozco Perez                             *
 ** Creado: 23-feb-2013                                         *
 * Modificado:                                                  *
 ** Diagrama: GAPI v4.3.0                                       *
 ** Caso de uso: MCCA1                                          *
 ****************************************************************/
package Servicios;

import DAO.DAOCuentas;
import Dominio.CuentaSesion;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * 
 * @author Alonso
 */
public class VisualizadorCuentaAdministrador extends HttpServlet {

    /**
     * Procesa la petición recibida por
     * <code>GET</code> y
     * <code>POST</code>.
     *
     * @param request petición del servlet.
     * @param response respuesta del servlet.
     * @throws ServletException Si ocurre algpun problema con el servlet
     * @throws IOException Si ocurre algún problema de lectura/escritura.
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        
        HttpSession sesion = request.getSession();        
        String nombreBuscar = (String) sesion.getAttribute("nombreUsuario");
        
        CuentaSesion cuenta = buscarDatosCuenta(nombreBuscar);
        try {
            /* TODO output your page here. You may use following sample code. */
          String respuesta = "<div class=\"contenedorFormularioRegistroAlumno\">" +
"               <h3>Datos de la cuenta</h3>" +
                  "<table>\n" +
"                    <tr>\n" +
"                        <td>\n" +
"                            Nombre de la cuenta\n" +
"                        </td>\n" +
"                        <td>\n" +
"                            <input type='text' value='"+cuenta.getNombreUsuario()+"' id='nombreUsuario' name='nameCuenta'>\n" +
"                        </td>\n" +
"                    </tr>\n" +
"                    <tr>\n" +
"                        <td>\n" +
"                            Password\n" +
"                        </td>\n" +
"                        <td>\n" +
"                            <input type='password' value='"+cuenta.getContrasenia()+"' id='password' name='namePass'>\n" +
"                        </td>\n" +
"                    </tr>\n" +
"                    <tr>\n" +
"                        <td>\n" +
"                            <input type='submit' value='Guardar Cambios' id='guardar'>\n" +
"                        </td>\n" +
"                        <td>\n" +
"                            <input type='button' value='Cancelar' id='cancelar'>\n" +
"                        </td>\n" +
"                    </tr>\n" +
"                </table>";
          out.println(respuesta);
        } finally {            
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

    /**
     * Método encargado de buscar los datos de la sesión de la cuenta
     * @param nombreBuscar - el nombre de usuario a buscar
     * @return datos de sesión de la cuenta
     */
    private CuentaSesion buscarDatosCuenta(String nombreBuscar) {
         CuentaSesion cuentaEncontrada = null;
        try {
            DAOCuentas cuentas = new DAOCuentas();
            ResultSet registro = cuentas.buscarCuenta(nombreBuscar);
            while(registro.next()){
                String nombreUsuario = registro.getString(1).toString();
                String pass = registro.getString(2).toString();
                cuentaEncontrada = new CuentaSesion(nombreUsuario,pass);
            }
           
        } catch (SQLException ex) {
            System.out.println("Error al encontrar cuenta en base de datos Servlet: VizualizadorCuentaAdministrador");
        }
         return cuentaEncontrada;
    }
}
